﻿@model Tecnosop.WebUI.Models.ResultadoBusquedaAvanzadaFacturaViewModel
@{
    ViewBag.Title = "Resultado de la búsqueda";
    Layout = MVC.Facturas.Views._LayoutFacturas;
    int? total = Model.Resultado.Sum(f => f.TOTAL);
    
    Func<Tecnosop.Dominio.FACTURA, ActionResult> ActionResultFactura = factura =>
        {
            if (factura.FACTURA_CONVENIO != null)
                return MVC.FacturaConvenio.Details(factura.NUMERO_FACTURA, factura.RAZON_SOCIAL);
            else if (factura.FACTURA_VENTA_DIRECTA != null)
                return MVC.FacturaVentaDirecta.Details(factura.NUMERO_FACTURA, factura.RAZON_SOCIAL);
            else
                return MVC.Facturas.Details();
        };
}
<fieldset>
    <legend>Resultado</legend>
        <br />
        <div><strong>Resultados para:</strong> "@Model.AreaBusqueda"</div>
        <div><strong>Criterio de búsqueda:</strong>
            @switch (Model.CriterioParaOrdenar)
            {
                case "NumeroFactura":
                    @:Número de factura
                    break;
                case "NombreCliente":
                    @:Nombre del cliente
                    break;
                case "RutCliente":
                    @:Rut del cliente
                    break;
                case "NumeroConvenio":
                    @:Número de convenio
                    break;
                default:
                    @:
                    break;
            }
        </div>
        <div><strong>Entre el</strong> @Model.FechaInicio.ToShortDateString() <strong>hasta el</strong> @Model.FechaFinal.ToShortDateString()</div>
        <br />
        @if(Model.Resultado.Any())
        {
            Html.Telerik().Grid(Model.Resultado)
                .Name("ResultadoBusqueda")
                .DataKeys(keys => keys.Add(k => k.NUMERO_FACTURA))
                .Columns(columuns =>
                    {
                        columuns.Bound(c => c.NUMERO_FACTURA)
                            .Template(t => Html.ActionLink(t.NUMERO_FACTURA.ToString(), ActionResultFactura(t)))
                            .Width(150);
                        columuns.Bound(c => c.RAZON_SOCIAL);
                        columuns.Template(
                            @<text>
                                @{
                                    string nombreCliente = "", rutCliente = "";
                                    if (item.FACTURA_CONVENIO != null)
                                    {
                                        nombreCliente = item.FACTURA_CONVENIO.CONVENIO.CLIENTE.NOMBRE;
                                        rutCliente = item.FACTURA_CONVENIO.CONVENIO.RUT_CLIENTE;
                                    }
                                    else if (item.FACTURA_VENTA_DIRECTA != null)
                                    {
                                        nombreCliente = item.FACTURA_VENTA_DIRECTA.CLIENTE.NOMBRE;
                                        rutCliente = item.FACTURA_VENTA_DIRECTA.CLIENTE.RUT_CLIENTE;
                                    }
                                }
                                @Html.ActionLink(nombreCliente, MVC.Cliente.Details(rutCliente))
                            </text>)
                            .Title("Cliente");
                        columuns.Bound(c => c.FECHA_INSTALACION);
                            
                        columuns.Bound(c => c.COND_DE_VENTA)
                            .Filterable(false);
                            
                        columuns.Bound(c => c.TOTAL)
                            .Title("Total por factura")
                            .FooterTemplate(t => "Total : " + (total.HasValue ? total.Value.ToString("$ #,##0") : "$ "))
                            .Filterable(false);
                    })
                .Selectable()
                .Pageable(paging => paging.PageSize(10))
                .PrefixUrlParameters(false)
                .Sortable()
                .Filterable()
                .Render();
        }
        else
        {
            <div class="nice alert-box error centrado" style="width: 300px">
                No se encontraron resultados
            </div>
            <div class="centrado">
                @*@Html.ActionLink("Volver", MVC.Equipo.Index(), new { @class = "nice radius small blue button" })*@
                <button type="button" class="nice radius small blue button" onclick="history.back()">Volver</button>
            </div>
        }
</fieldset>
